ديف أوبس

تثبيت وتأمين Redis على أوبونتو

كيفية تثبيت Redis وتأمينه على أوبونتو 18.04

Redis هو نظام تخزين بيانات سريع يستخدم في العديد من التطبيقات من خلال استخدامه كقاعدة بيانات مفتوحة المصدر، وذاكرة تخزين مؤقت (Cache)، وموزع للرسائل. يتميز Redis بسرعته العالية بفضل تخزين البيانات في الذاكرة العشوائية (RAM)، مما يجعله مثاليًا للتطبيقات التي تحتاج إلى استجابة سريعة. في هذا المقال، سنناقش كيفية تثبيت Redis على أوبونتو 18.04 وكيفية تأمينه لضمان أداء عالي وأمان مناسب في بيئة الإنتاج.

تثبيت Redis على أوبونتو 18.04

قبل أن تبدأ في تثبيت Redis، تأكد من تحديث النظام لتفادي أي مشاكل قد تنشأ بسبب الحزم القديمة. يمكنك تحديث النظام باستخدام الأوامر التالية:

bash
sudo apt update sudo apt upgrade

1. إضافة مستودع Redis وتثبيته

للحصول على أحدث إصدار من Redis، يمكنك تثبيته من مستودع أوبونتو الرسمي أو من مستودعات إضافية. في هذا المقال، سنتبع الطريقة الأكثر شيوعًا باستخدام المستودعات الرسمية.

لتثبيت Redis على أوبونتو 18.04، قم بتنفيذ الأمر التالي:

bash
sudo apt install redis-server

سيقوم هذا الأمر بتثبيت Redis بالإضافة إلى كافة الحزم اللازمة.

2. التحقق من تثبيت Redis

بعد اكتمال التثبيت، يمكنك التحقق من أن Redis يعمل بشكل صحيح عن طريق فحص حالته باستخدام:

bash
sudo systemctl status redis

سترى إذا كان Redis قيد التشغيل أم لا. إذا كان كل شيء على ما يرام، ستظهر رسالة تشير إلى أن Redis يعمل بنجاح.

3. إعداد Redis للعمل كخدمة

بعد التثبيت، يمكن لـ Redis العمل كخدمة، مما يعني أنه سيتم تشغيله تلقائيًا عند بدء تشغيل النظام. للتأكد من أن Redis سيعمل بشكل مستمر حتى بعد إعادة التشغيل، استخدم الأمر التالي:

bash
sudo systemctl enable redis

تأمين Redis على أوبونتو 18.04

رغم أن Redis يعد أداة قوية وفعالة، إلا أن تكوينه بشكل غير آمن قد يعرض النظام للمخاطر الأمنية. لذلك، من المهم اتباع أفضل الممارسات لتأمين Redis بعد التثبيت.

1. تغيير إعدادات الوصول

إحدى الطرق الأكثر أهمية لتأمين Redis هي تغيير إعدادات الوصول إلى قاعدة البيانات. بشكل افتراضي، يسمح Redis بالاتصال من أي عنوان IP، مما يفتح المجال أمام الهجمات. لتقييد الوصول، يمكن تعديل ملف التكوين.

افتح ملف التكوين Redis باستخدام المحرر المفضل لديك، مثل Nano:

bash
sudo nano /etc/redis/redis.conf

ابحث عن السطر الذي يحتوي على bind، والذي يحدد عناوين IP التي يمكنها الاتصال بـ Redis. لتقييد الوصول إلى الجهاز المحلي فقط، قم بتغيير السطر ليصبح:

bash
bind 127.0.0.1 ::1

هذا يضمن أن Redis يستمع فقط على الجهاز المحلي ويمنع أي محاولات اتصال من الشبكات الخارجية.

2. تمكين كلمة المرور

بشكل افتراضي، Redis لا يتطلب كلمة مرور للاتصال به. ولكن لضمان الأمان، يمكنك تعيين كلمة مرور قوية. في ملف التكوين /etc/redis/redis.conf، ابحث عن السطر الذي يحتوي على # requirepass foobared وقم بإلغاء التعليق عن السطر وتعيين كلمة مرور قوية. على سبيل المثال:

bash
requirepass mystrongpassword

يجب استبدال mystrongpassword بكلمة مرور فريدة وآمنة. بعد تعديل الملف، احفظ التغييرات وأعد تشغيل Redis لتطبيق التحديثات:

bash
sudo systemctl restart redis

3. تعطيل الوصول عبر TCP/IP في حال عدم الحاجة إليه

إذا كنت لا تحتاج إلى الوصول إلى Redis عبر الشبكة، يمكنك تعطيل استخدام TCP/IP بشكل كامل. يمكنك فعل ذلك بتعديل قيمة protected-mode في ملف التكوين، بحيث تكون yes:

bash
protected-mode yes

سيقوم هذا الخيار بإغلاق الوصول إلى Redis عبر الشبكة إلا إذا كنت قد قمت بتحديد عنوان IP محلي عبر خيار bind.

4. تحديث إعدادات الذاكرة

من أفضل ممارسات الأمان تحديد حدود لعدد الذاكرة التي يمكن أن يستخدمها Redis. يمكنك فعل ذلك بتعديل الخيار maxmemory في ملف التكوين، على سبيل المثال:

bash
maxmemory 2gb

هذا سيحدد حدًا أقصى لاستخدام ذاكرة Redis بما يعادل 2 جيجابايت. إذا تم الوصول إلى الحد الأقصى للذاكرة، سيتم إزالة البيانات القديمة.

5. إضافة جدار ناري

يعد إعداد جدار ناري مناسب خطوة أساسية في تأمين أي خادم. يمكنك استخدام ufw لضبط جدار ناري يمنع الوصول غير المصرح به إلى Redis. قم بتقييد الوصول إلى منفذ Redis الافتراضي (6379) بحيث يكون مفتوحًا فقط للجهاز المحلي.

لتنفيذ ذلك، أولاً تأكد من أن ufw مثبت ويعمل:

bash
sudo ufw enable

ثم أضف قاعدة للسماح بالاتصالات المحلية فقط على المنفذ 6379:

bash
sudo ufw allow from 127.0.0.1 to any port 6379

6. تفعيل التشفير

إذا كنت بحاجة إلى تأمين البيانات التي يتم إرسالها عبر الشبكة، يمكنك استخدام Redis مع SSL/TLS. بينما لا يدعم Redis بشكل افتراضي SSL، يمكنك إعداد Redis للعمل مع بروتوكولات التشفير باستخدام أدوات مثل stunnel أو SSL Proxy.

7. مراقبة Redis

أحد الجوانب المهمة في تأمين Redis هو مراقبته باستمرار للبحث عن أي نشاط غير طبيعي. يمكن استخدام أدوات مثل Redis-CLI أو MONITOR لمراقبة الأوامر التي يتم تنفيذها على Redis. على سبيل المثال:

bash
redis-cli MONITOR

سيعرض لك هذا الأمر جميع الأوامر التي يتم تنفيذها على الخادم.

8. مراجعة تحديثات الأمان بشكل دوري

نظرًا لأن Redis هو جزء من نظام أوبونتو، من المهم دائمًا متابعة التحديثات الأمنية. يمكنك تفعيل التحديثات التلقائية للأمان من خلال إعداد أوبونتو على التحديث التلقائي. للقيام بذلك، قم بتعديل ملف /etc/apt/apt.conf.d/50unattended-upgrades وتمكين التحديثات الأمنية.

استنتاج

تثبيت Redis على أوبونتو 18.04 هو عملية بسيطة نسبيًا، ولكن تأمينه بشكل صحيح أمر بالغ الأهمية لضمان أمان البيانات وكفاءة الأداء. من خلال تقييد الوصول، وتعيين كلمات مرور قوية، وضبط إعدادات الذاكرة والجدار الناري، يمكن تقليل المخاطر الأمنية بشكل كبير. بالإضافة إلى ذلك، ينبغي دائمًا مراقبة Redis بشكل دوري وتحديثه للحفاظ على أمان النظام.